In an existing image processing chain of a display such as a fixed format display, one of the most desirable features can be the possibility to add functional blocks or features to the design without having to redesign or reconfigure the existing processing blocks features. There's an inherent difficulty associated to the concept of modularity, namely to preserve the system's specifications when features are added.
Simply adding features without reconfiguring or redimensioning existing blocks, while preserving system specifications, can lead to sub-optimal results.
In most cases it is more efficient to redesign or reconfigure one or more existing blocks in the signal data path. A straight forward method to remain within the system specifications when processing blocks are added to the video chain is by redimensioning each feature in order to obtain an individual performance better than the system specification divided by the number of processing blocks. This concept is not straight forward in image processing applications where multiple specifications need to be fulfilled on a system level. An image processing system might have a variety of specifications, such as: acceptable PSNR (peak signal to noise ratio), (perceptual) linearity of quantizing intervals, amount of distinguishable colors, grey tracking, color coordinates, MTF (modulation transfer function), dynamic range and contrast and/or similar. Therefore, an efficient low latency image processing system which sequentially performs multiple image processing steps in a streaming environment, for instance, in an image stream sent via a display port link to a healthcare monitor, must be capable of automatically configuring all functional blocks in the image processing path based on multiple system quality specifications, such as required for medical imaging such as for pathology for instance.
Compliancy with the DICOM standard for medical displays can be considered as a specialized case of a system level specification applied to grey tracking. A DICOM compliant display needs to convert the received electrical signal values, for instance a 10 bit value per color and per pixel stream received via a display port adapter, into linearized luminosities to enable further processing steps such as color gamut mapping which must be performed on linear tristimuli. In other words, some image processing blocks require linear luminosity values per color corresponding to linear XYZ data as can be measured by a colorimeter or a spectrometer compatible with the internationally standardized CIE 1931 colorimetric system.
However, the values which are received at the display port input can represent equidistantly 10-bit-quantized just noticeable difference values, known as J-index values. In case the display has a contrast of 1600:1 and a white luminance of 1000 Nit, the received 10-bit value of 0 represents a J-index of about 57, while the maximum received value of 1023 corresponds to a J-index of about 825. Practically, this means that every 10-bit input step of one bit, for instance an increment from 100 to 101, should correspond to about ¾ of a just noticeable difference of J-index increment. The human eye is capable of distinguishing about 825−57=768 brightness increments on a display conforming to the above mentioned specifications. Due to the contrast limitation, either caused by the display system or the ambient lighting conditions, the 57 darkest perceivable luminosity levels indicated by the first 57 J-index values are very difficult or impossible to perceive by the human eye with these displays and under these viewing conditions.
The received 10-bit linearly quantized J-index values are converted to linear luminosity values by using a look up table as can be created from the curve indicated in FIG. 1 which is an example of a electro-optical transfer function or DICOM curve stored in a look up table for a display of 100 Nit and a contrast of 1600:1.
FIG. 1 is an example of equation 1, for the given contrast and black level, for a 10-bit input, and for a normalized output.
As can be seen, the transfer function is very non-linear. The DICOM transfer function from J-index to linear light is approximated by the fraction of polynomial equations in the logarithmic domain as defined in Equation 1.
                    Luminosity        ⁢                                  ⁢        calculated        ⁢                                  ⁢        from        ⁢                                  ⁢        J        ⁢                  -                ⁢        index        ⁢                                  ⁢        according        ⁢                                  ⁢        to        ⁢                                  ⁢        DICOM        ⁢                                  ⁢        standard                                                                                      ⁢                              J            =                                          log                10                            ⁡                              (                J                )                                              ⁢                                          ⁢                      l            =                                                                                                                              -                        1.3011877                                            +                                              0.080242636                        ·                        j                                            +                                              0.13646699                        ·                                                  j                          2                                                                    -                                                                                                                                                          0.025468404                        ·                                                  j                          3                                                                    +                                              0.0013635334                        ·                                                  j                          4                                                                                                                                                                                                            1                      -                                              0.025840191                        ·                        j                                            -                                              0.10320229                        ·                                                  j                          2                                                                    +                                              0.02874562                        ·                                                  j                          3                                                                    -                                                                                                                                                          0.0031978977                        ·                                                  j                          4                                                                    +                                              0.00012992634                        ·                                                  j                          5                                                                                                                                                  ⁢                                          ⁢                                          ⁢                      L            =                                          10                l                            =                              LfromJ                ⁡                                  (                  J                  )                                                                                        Equation        ⁢                                  ⁢        1            
The J index value is converted initially to its logarithmic value, represented as j. The value of j is converted to the logarithmic value of the luminosity, represented as 1, by using a fractional relation of two polynomial equations. Finally the luminosity L is calculated from its logarithmic representation 1 as a power of 10. The large variations in the curve steepness force the required output (read data) bit accuracy to be much higher than the input (read address) bit accuracy received via the display port link. Obviously, a high quality DICOM compliant display should preserve the distinction between all grey levels received by the input, even in the dark grey levels.
As the steepness of the transfer function is limited to about 1/200 an extra 8* bits are required to preserve all linearly quantized J-index increments as the binary logarithm of the minimal steepness indicates the amount of bits missing in the input accuracy to resolve grey level details in that area. *8=−ceiling (log2 ( 1/200))
In order to distinguish between all the input values a precision of at least 18 bit read data is required. This criterion is not always sufficient in diagnostic displays, for instance, as it doesn't indicate anything about the linearity of the quantizing intervals. The DICOM standard implemented in a preferred display has a tolerated non-linearity of relative luminosity increments (dL/L) of +−15% as indicated in FIG. 2. The Y axis is the error percent dL/L per JND, the X axis the JND index.
The allowed tolerance for the DICOM transfer function is standardized. It is impractical usually to verify the dL/L variation for each individual 10-bit input interval mainly due to the device used to capture each output, namely a camera sensor, which typically has so much noise that very long measurement times are required, especially to integrate the noise sufficiently for the dark grey levels. As shown in FIG. 2, in practice DICOM compliancy is verified by measuring a number of points, e.g. 17 points.
Although not always measurable, ideally the image processing system should be dimensioned to guarantee a dL/L tolerance to below 15% for every quantizing interval, as this will be required to pass the check as shown in FIG. 2. In order to preserve the distinction between all grey levels received by the input, in other words not to lose any received grey level detail, it is sufficient to design for a dL/L tolerance per interval below 100% and configure the look up table with at least an 18 bit read data bus.
In order to guarantee passing a DICOM compliancy test, regardless of which and how many input values are measured, it is necessary to configure the system to obtain a dL/L tolerance per interval below 15% and configure the look up table with at least a 20 bit read data bus, i.e. when targeting the same 1000-Nit display with a contrast ratio of 1600:1. Note that only 2 extra bits of linear accuracy are required to upgrade a basic color detail preserving system (no grey levels are lost at 18 bit luminosity values) to a full DICOM compliant system which requires at least 20 bits per color per pixel.
Most display systems are calibrated to have a gammatized electro-optical transfer function (EOTF). For instance the displayed luminosity offered by an LCD panel can be proportional to the electrical input value to the power of 2.4. While the above discussions about the DICOM compliancy requirements enable one to calculate the accuracy required by the input DICOM look up table, they don't elaborate on the accuracy required by the video processing system output.
The most recent generation of healthcare displays based on the FUN platform allow for mapping a certain color gamut to the native color gamut offered by the display system. See for example http://www.barco.com/en/Products/Displays-monitors-workstations/Medical-displays/Diagnostic-displays such as Barco Nio or Coronis displays.
This is determined mainly by the backlight illumination system, for instance the choice of LEDs and diffusers for the backlight, as well as the color filters attached to the LCD panel and the polarizing filters and other coating elements. Display devices can be made presently with wide gamut support, for instance close to the Adobe RGB 1998 standard See https://en.wikipedia.org/wiki/Adobe_RGB_color_space and Adobe® RGB (1998) Color Image Encoding Version 2005-05 Specification of the Adobe® RGB (1998) color image encoding, ADOBE SYSTEMS INCORPORATED Corporate Headquarters 345 Park Avenue San Jose, Calif. 95110-2704
However, the source data is usually not encoded with the same color gamut as the native display gamut. Often the sRGB color gamut (white triangle in FIG. 3) is preferred as this allows a camera to capture more light as more transparent color filters can be used in comparison to Adobe RGB (black line in FIG. 3) as illustrated in FIG. 3 with the D65 white point.
The color gamut mapping can be considered as a linear 3×3 matrix operator which is applied to the linearized tri-chromaticity values of the input signal (Ri, Gi, Bi) and the result is a set of linear luminosity values for each output color (Ro, Go, Bo) as illustrated in FIG. 4.
This illustrates how to implement a simple color gamut mapping feature. 3 steps are typically required:                1) 1D DICOM profile LUT: for a perceptual quantizer, the DICOM representation must be converted to a linear representation of light intensity.        2) A matrix transform defines a unique mix of linear light intensities for all 3 primary colors, based on all 3 input values.        3) Values from a LUT are used to compensate for the panel non-linearity        
The precision required by the output of the simple modular image processing path in FIG. 4 can be calculated from the overall transfer function required from input to output by cascading the two non-linear transfer functions: a) the conversion from linearly quantized J-index values to normalized linear luminosity values as specified by the DICOM standard and b) the conversion form linearly quantized normalized luminosity values to gammatized values which compensates for the display system's electro optical transfer function. FIG. 8 illustrates the overall system transfer function being a cascaded DICOM curve for a display at 1000 Nit with contrast of 1600:1 and gammatized with a gamma of 2.4.
When processing in the linear luminosity domain is not required, such as with previous generations of healthcare displays where color calibration was not required, the transfer function illustrated in FIG. 5 can be implemented in a single Look up Table (LUT) stored in hardware by successively applying the DICOM transfer function and the inverse gamma transfer function, thereby not only reducing the implementation cost but also eliminating the need to truncate the intermediate luminosity values. This is the main reason why a color graded DICOM compliant display requires far higher intermediate video processing accuracy compared to a display without any color calibration capabilities. The need for two separate look up tables is caused by features such as color gamut mapping which require a representation of linear luminosities.
FIG. 5 shows an overall system transfer function for 2.4-gammatized DICOM compliant display with 1000 Nits light output and contrast ratio of 1600:1 The transfer function in FIG. 5 does not show the extreme variations in gradient that were visible in FIG. 1. This is not surprising as a gammatization function with a gamma value of 2.4 can be considered as a basic attempt to approximate perceptually linear encoding. If the approximation were perfect, the steepness would be equal to 1 everywhere. In the illustrated system a 10 bit input requires 18 bit intermediate processing to avoid any grey detail loss, while only 12 bits are required for the output bus. Similarly, as illustrated in FIG. 7 a 10 bit input requires 20 bit intermediate processing accuracy to satisfy a dL/L variation per interval below 15%, while again only 16 bits are required for the output bus to preserve accurately equidistant quantizing intervals.
In reality there are a couple of problems with the simplified modular image processing path as presented in FIG. 4. While the 1D DICOM profile LUT having 1024 address entries is perfectly implementable in standard processing engines such as FPGA devices (or other accelerators), the S-LUT which compensates for the display's non-linearity needs 1048576 entries (2 to the power of 20) as the intermediate processing width is 20 bit. Although such a LUT is feasible to implement in a large processing engine such as an FPGA device, its expensiveness is such that a more efficient approach is preferred.
FIG. 6 shows the percentage gammatized output as the Y axis and the percentage luminosity input as the X axis for a content of a normalized LUT for a transfer function for gammatization with gamma=1/2.4. As can be seen the gammatization transfer function has a high and highly variable steepness in the dark grey levels while the steepness is almost constant near the white level. Therefore the bit accuracy which is required near the black level is much higher than near the white level.